﻿using Newtonsoft.Json;
using Newtonsoft.Json.Serialization;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
using System.Text;

namespace QbservableCore.Serialization
{
    public static class Consts
    {
        public static class Reflections
        {
            
            //public const BindingFlags Default = BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.Static | BindingFlags.Instance;
        }

        public static class Json
        {
            public const string Type = "Type";
            public const string Value = "Value";
            public const string Name = "Name";
            public const string Target = "Target";
            public const string Category = "Category";
            public const string Operator = "Operator";
            public const string Body = "Body";
            public const string Return = "Return";
            public const string Unary = "Unary";
            public const string Params = "Parameters";
            public const string StubPrefix = "~Qbs~";
            public const string StubFormat = StubPrefix + "{0}";

            //public static readonly JsonSerializerSettings SettingWithType = new JsonSerializerSettings { TypeNameHandling = TypeNameHandling.All };
        }

        public static class RxOperators
        {
            public const string Merge = "System.Reactive.Linq.ObservableImpl.Merge";
        }
    }
}
